Package-level declarations
This package represents the data layer for the application,
TODO: Needs more info as this is a core feature of the application
Types
Data source class for interacting with the Firestore database to manage Bi-Weekly mood entries. This class handles adding and fetching mood entries from the Firestore database.
Repository class for managing Bi-Weekly mood data. This class interacts with the remote data source to fetch and add mood entries.
Represents a log of a chat activity or interaction. This contains a list of user messages, the chat branch type, and metadata like creation time and completion date. The chatbot's responses are not stored in the logs to save memory, as they are inferred from the log type.
Represents a single chat message in a conversation. A ChatMessage consists of the sender (either bot or user), the message content, and the timestamp of when the message was created.
Data source for managing chat logs in Firestore. This class provides functions to add, delete, and retrieve chat logs from Firestore.
Repository for managing chat logs. This class acts as a middle layer between the data source and the rest of the application.
Represents a daily mood evaluation entry that is used in the application. This includes the selected emotions, their intensities, a map of emotions to their values, the stress level, the strongest emotion (as a pair), and the date the entry was completed.
Represents a daily mood evaluation entry that is stored safely in the database. This includes the selected emotions, their intensities, a map of emotions to their values, the stress level, the strongest emotions (first and second), and the date the entry was completed.
Data source for managing daily mood evaluations in Firestore. This class provides methods for adding, fetching, and listening to mood entries.
Repository for managing daily mood evaluations. This repository serves as a middle layer between the data source and the application, handling operations related to daily mood entries.
Serializer for the Pair of emotions and their intensities, allowing serialization and deserialization. This serializer encodes the emotion name as a string and its intensity as a float.
Represents a journal entry that contains a title, content, and the date the entry was created.
Data source class for managing journal entries in Firestore. This class is responsible for adding, deleting, updating, and fetching journal entries from the Firestore database.
Repository class responsible for handling operations related to journal entries. It acts as a bridge between the data source and the rest of the application, providing methods to add, update, delete, and fetch journal entries.
Repository class that manages user-related operations such as authentication state changes, retrieving user data (like email and display name) from Firestore, and interacting with the FirebaseAuth service.
Functions
Extension function to convert a list of DailyEvaluationEntry to a list of DailyEvaluationEntryDBSafe.
Extension function to convert a list of DailyEvaluationEntryDBSafe to a list of DailyEvaluationEntry.